package com.foreknow.test01;

/**
 * 运算符和表达式
 * 1.算术运算符+ - * /
 * 2.赋值运算符= += -= *= /= %=
 * 3.比较运算符： 用于对数据进行比较操作符，它的运算结果是Boolean类型
 * == ！= >= <= < >
 * 4.单目运算符：用于控制整数的自增和自减++ --
 * ++:用于表示某个整数变量进行自增加1的操作
 * 如果++在整数变量的后面，表示变量值先参与运算，然后再自增加1
 * 5.逻辑运算符 表示两个逻辑类型（boolean）类型的逻辑操作
 * 与（&&） 如果A&&B 要求必须满足A和B两个条件
 * 或（||） 如果A||B 至少满足A和B两个条件之一
 * 非(!)   如果！A表示A的逻辑取反
 *
 * 逻辑运算符会存在短路的现象
 * C = A && B
 * A - false
 * B - ?  没有意义，所以不会被执行
 * C - false
 *
 * C = A || B
 * A - true
 * B - ?  没有意义，所以不会被执行
 * C - true
 *
 * 6.三目运算符：由2个符号共同组成的一个含有逻辑的运算
 *      int x=(逻辑运算符)？a:b;
 *      规则:当逻辑运算符为true的时候x=a当逻辑运算符为false的时候x= b
 *      注意:a和b的类型一定要与x的类型相同
 * I
 *
 */
public class OperatorDemo {
    public static void main(String[] args) {

//        int a = 5;
//        double d = 2.5;
//        //整数与浮点数的运算（最终为double类型）
//        double x1 = a+d;
//        System.out.println(a+d);
//        System.out.println(x1);
//        System.out.println(5/2);
//        System.out.println(5%2);
//
//        //同类型数据的加法
//        byte s1 = 35;
//        byte s2 = 37;
//        int s3 = s1+s2;
//        System.out.println(s3);


//         int a = 3;
//         int b = 5;
//         b += a;//+=复合赋值运算符 b+=a 等价于 b=b+a
//         System.out.println(b);
//         short s = 35;
//         s+=1;
//         System.out.println(s);

//
//        int a = 5;
//        int b = 3;
//        boolean c =(a!=b);
//        System.out.println(c);
//        int i = 5;
//        //int j = i++;//表示变量i的值赋值给j，然后再自增加1
//        int j = ++i;
//        System.out.println("j:"+j+"i:"+i);

//        int i = 5;
//        int j = (i++)+(i++);
//        int z = (++i)+(++i);
//        System.out.println("i:"+i+"j:"+j+"z:"+z);

//        int a = 5;
//        int b = 3;
//        int c = 2;
//        boolean x1 = (a>b)&&(b>c);
//        boolean x2 = (a>b)&&(b<c);
//
//        boolean x3 = (a>b)||(b>c);
//        boolean x4 = (a>b)||(b<c);
//        boolean x5 = (a<b)||(b<c);
//
//        boolean x6 = !(a>b);
//
//        System.out.println(x1);
//        System.out.println(x2);
//
//        System.out.println(x3);
//        System.out.println(x4);
//        System.out.println(x5);
//
//        System.out.println(x6);

//        int i=5;
//        boolean x =(i++ > 5)&&(++i < 6);
//        System.out.println(x);
//        System.out.println(i);
//        int i = 4;
//        char c = (i % 2==0)?'是':'否';
//        System.out.println(c);



    }
}
